package com.lhx.product.service;

import com.lhx.product.domain.dto.BrandDTO;
import com.lhx.product.domain.dto.UpdateFactoryStatusDTO;
import com.lhx.product.domain.po.BrandPO;
import com.lhx.product.result.PageResult;
import com.lhx.product.result.Result;
import com.lhx.product.domain.vo.BrandVO;


import java.util.List;

/**
 * @Author：lihongxiang
 * @Package：com.lhx.product.service
 * @Project：lhx-RuoYi
 * @name：BrandService
 * @Date：2024/5/22 下午8:35
 */
public interface BrandService {

    /**
     * 功能：添加品牌表
     * @param brandPO
     * @return
     */
    Integer addBrand(BrandPO brandPO);

    /**
     * 分页查询
     * @param brandDTO
     * @return
     */
    Result<PageResult<BrandVO>> findBrandList(BrandDTO brandDTO);

    /**
     * 修改品牌信息
     * @param brandPO
     * @return
     */
    Integer updateBrand(BrandPO brandPO);


    /**
     * 删除品牌信息
     * @param ids
     * @return
     */
    Integer deleteBrand(Integer[] ids);

    /**
     * 批量删除
     * @param ids
     * @return
     */
    int deleteBatch(List<Long> ids);

    /**
     * 更新显示状态
     * @param ids
     * @param showStatus
     * @return
     */
    int updateShowStatus(List<Long> ids, Integer showStatus);


    /**
     * 更新厂家状态
     * @param ids
     * @param factoryStatus
     * @return
     */
    int updateFactoryStatus(List<Long> ids, Integer factoryStatus);

    /**
     * 根据id查询品牌信息
     * @param id
     * @return
     */
    BrandVO findBrandById(Integer id);
}
